'\" t
.\"     Title: ltdbtool
.\"    Author: 
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
.\"      Date: 03/09/2023
.\"    Manual: CTDB - clustered TDB database
.\"    Source: ctdb
.\"  Language: English
.\"
.TH "LTDBTOOL" "1" "03/09/2023" "ctdb" "CTDB \- clustered TDB database"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
ltdbtool \- manipulate CTDB\*(Aqs local TDB files
.SH "SYNOPSIS"
.HP \w'\fBltdbtool\fR\ 'u
\fBltdbtool\fR [\fIOPTION\fR...] {\fICOMMAND\fR} [\fICOMMAND\-ARGS\fR]
.SH "DESCRIPTION"
.PP
ltdbtool is a utility to manipulate CTDB\*(Aqs local TDB databases (LTDBs) without connecting to a CTDB daemon\&.
.PP
It can be used to:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
dump the contents of a LTDB, optionally printing the CTDB record header information,
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
convert between an LTDB and a non\-clustered tdb by adding or removing CTDB headers and
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
convert between 64 and 32 bit LTDBs where the CTDB record headers differ by 4 bytes of padding\&.
.RE
.SH "OPTIONS"
.PP
\-e
.RS 4
Dump empty records\&. These are normally excluded\&.
.RE
.PP
\-p
.RS 4
Dump with header information, similar to "ctdb catdb"\&.
.RE
.PP
\-s {0 | 32 | 64}
.RS 4
Specify how to determine the CTDB record header size for the input database:
.PP
0
.RS 4
no CTDB header
.RE
.PP
32
.RS 4
CTDB header size of a 32 bit system (20 bytes)
.RE
.PP
64
.RS 4
CTDB header size of a 64 bit system (24 bytes)
.RE
.sp
The default is 32 or 64 depending on the system architecture\&.
.RE
.PP
\-o {0 | 32 | 64}
.RS 4
Specify how to determine the CTDB record header size for the output database, see \-s\&.
.RE
.PP
\-S \fISIZE\fR
.RS 4
Explicitly specify the CTDB record header SIZE of the input database in bytes\&.
.RE
.PP
\-O \fISIZE\fR
.RS 4
Explicitly specify the CTDB record header SIZE for the output database in bytes\&.
.RE
.PP
\-h
.RS 4
Print help text\&.
.RE
.SH "COMMANDS"
.PP
help
.RS 4
Print help text\&.
.RE
.PP
dump \fIIDB\fR
.RS 4
Dump the contents of an LTDB input file IDB to standard output in a human\-readable format\&.
.RE
.PP
convert \fIIDB\fR \fIODB\fR
.RS 4
Copy an LTDB input file IDB to output file ODB, optionally adding or removing CTDB headers\&.
.RE
.SH "EXAMPLES"
.PP
Print a local tdb in "tdbdump" style:
.sp
.if n \{\
.RS 4
.\}
.nf
      ltdbtool dump idmap2\&.tdb\&.0
    
.fi
.if n \{\
.RE
.\}
.PP
Print a local tdb with header information similar to "ctdb catdb":
.sp
.if n \{\
.RS 4
.\}
.nf
      ltdbtool dump \-p idmap2\&.tdb\&.0
    
.fi
.if n \{\
.RE
.\}
.PP
Strip the CTDB headers from records:
.sp
.if n \{\
.RS 4
.\}
.nf
      ltdbtool convert \-o0 idmap2\&.tdb\&.0 idmap\&.tdb
    
.fi
.if n \{\
.RE
.\}
.PP
Strip 64 bit CTDB headers from records, running on i386:
.sp
.if n \{\
.RS 4
.\}
.nf
      ltdbtool convert \-s64 \-o0 idmap2\&.tdb\&.0 idmap\&.tdb
    
.fi
.if n \{\
.RE
.\}
.PP
Strip the CTDB headers from records by piping through tdbrestore:
.sp
.if n \{\
.RS 4
.\}
.nf
      ltdbtool dump idmap2\&.tdb\&.0 | tdbrestore idmap\&.tdb
    
.fi
.if n \{\
.RE
.\}
.PP
Convert a local tdb from a 64 bit system for usage on a 32 bit system:
.sp
.if n \{\
.RS 4
.\}
.nf
      ltdbtool convert \-s64 \-o32 idmap2\&.tdb\&.0 idmap2\&.tdb\&.1
    
.fi
.if n \{\
.RE
.\}
.PP
Add a default header:
.sp
.if n \{\
.RS 4
.\}
.nf
      ltdbtool convert \-s0 idmap\&.tdb idmap2\&.tdb\&.0
    
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.PP
\fBctdb\fR(1),
\fBtdbdump\fR(1),
\fBtdbrestore\fR(1),
\fBctdb\fR(7),
\m[blue]\fB\%http://ctdb.samba.org/\fR\m[]
.SH "AUTHOR"
.br
.PP
This documentation was written by Gregor Beck
.SH "COPYRIGHT"
.br
Copyright \(co 2011 Gregor Beck, Michael Adam
.br
.PP
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version\&.
.PP
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\&. See the GNU General Public License for more details\&.
.PP
You should have received a copy of the GNU General Public License along with this program; if not, see
\m[blue]\fB\%http://www.gnu.org/licenses\fR\m[]\&.
.sp
